Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / pip_rns_remotes.py

Displaying Raw • Download


scripts/pip_rns_remotes.py c0b0ddffd735a0d007c1be9a5e8563ec42fdafc0 (c0b0ddff) Text, 2.20 KB

T8b949e#!/usr/bin/env python3
T8b949e# SPDX-License-Identifier: 0BSD
T8b949e"""Shared remotes and helpers for optional pip-rns / rngit tooling."""

Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations

Tff7b72from T7ee787pathlib Tff7b72import Te6edf3Path

Te6edf3REPO_ROOT Tff7b72= Te6edf3PathTb4b4b4(Tff7b72__file__Tb4b4b4)Tff7b72.Td2a8ffresolveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffparentTff7b72.Td2a8ffparent
Te6edf3PIP_RNS_CONFIG_DIR Tff7b72= Te6edf3REPO_ROOT Tff7b72/ Ta5d6ff"Ta5d6ffscriptsTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffpip-rnsTa5d6ff"
Te6edf3ALIASES_PATH Tff7b72= Te6edf3PIP_RNS_CONFIG_DIR Tff7b72/ Ta5d6ff"Ta5d6ffaliasesTa5d6ff"

T8b949e# Upstream markqvist rngit remotes (destination hash + group/repo).
Te6edf3DEFAULT_RNS_IDENTITY Tff7b72= Ta5d6ff"Ta5d6ff7649a50d84610232d1416b41d2896affTa5d6ff"
Te6edf3DEFAULT_GROUP Tff7b72= Ta5d6ff"Ta5d6ffreticulumTa5d6ff"

Te6edf3DEFAULT_PACKAGE_ALIASES Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffrnsTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3DEFAULT_RNS_IDENTITYTffd700}Ta5d6ff/Tffd700{Te6edf3DEFAULT_GROUPTffd700}Ta5d6ff/reticulumTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fflxmfTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3DEFAULT_RNS_IDENTITYTffd700}Ta5d6ff/Tffd700{Te6edf3DEFAULT_GROUPTffd700}Ta5d6ff/lxmfTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fflxstTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3DEFAULT_RNS_IDENTITYTffd700}Ta5d6ff/Tffd700{Te6edf3DEFAULT_GROUPTffd700}Ta5d6ff/lxstTa5d6ff"Tb4b4b4,
Tb4b4b4}

Te6edf3DEFAULT_WEBSITE_REMOTE Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffrns://Tffd700{Te6edf3DEFAULT_RNS_IDENTITYTffd700}Ta5d6ff/Tffd700{Te6edf3DEFAULT_GROUPTffd700}Ta5d6ff/websiteTa5d6ff"

Te6edf3DEFAULT_INSTALL_PACKAGES Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ffrnsTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflxmfTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflxstTa5d6ff"Tb4b4b4)


Tff7b72def Td2a8ffparse_aliasesTb4b4b4(Te6edf3pathTb4b4b4: Te6edf3Path Tff7b72| Tff7b72None Tff7b72= Tff7b72NoneTb4b4b4) Tff7b72-Tff7b72> Tffa657dictTb4b4b4[Tffa657strTb4b4b4, Tffa657strTb4b4b4]Tb4b4b4:
T8b949e"""Parse a pip-rns aliases file into name -> identity/group/repo."""
Te6edf3target Tff7b72= Te6edf3path Tff7b72or Te6edf3ALIASES_PATH
Te6edf3resultTb4b4b4: Tffa657dictTb4b4b4[Tffa657strTb4b4b4, Tffa657strTb4b4b4] Tff7b72= Tb4b4b4{Tb4b4b4}
Tff7b72if Tff7b72not Te6edf3targetTff7b72.Td2a8ffis_fileTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72return Tffa657dictTb4b4b4(Te6edf3DEFAULT_PACKAGE_ALIASESTb4b4b4)
Tff7b72for Te6edf3raw Tff7b72in Te6edf3targetTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tff7b72.Td2a8ffsplitlinesTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3line Tff7b72= Te6edf3rawTff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3line Tff7b72or Te6edf3lineTff7b72.Td2a8ffstartswithTb4b4b4(Ta5d6ff"Ta5d6ff#Ta5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72continue
Tff7b72if Ta5d6ff"Ta5d6ff=Ta5d6ff" Tff7b72not Tff7b72in Te6edf3lineTb4b4b4:
Tff7b72continue
Te6edf3nameTb4b4b4, Te6edf3value Tff7b72= Te6edf3lineTff7b72.Td2a8ffsplitTb4b4b4(Ta5d6ff"Ta5d6ff=Ta5d6ff"Tb4b4b4, T79c0ff1Tb4b4b4)
Te6edf3name Tff7b72= Te6edf3nameTff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)
Te6edf3value Tff7b72= Te6edf3valueTff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3name Tff7b72and Te6edf3valueTb4b4b4:
Te6edf3resultTb4b4b4[Te6edf3nameTb4b4b4] Tff7b72= Te6edf3value
Tff7b72return Te6edf3result


Tff7b72def Td2a8ffremote_urlTb4b4b4(Te6edf3alias_or_pathTb4b4b4: Tffa657strTb4b4b4, Te6edf3aliasesTb4b4b4: Tffa657dictTb4b4b4[Tffa657strTb4b4b4, Tffa657strTb4b4b4] Tff7b72| Tff7b72None Tff7b72= Tff7b72NoneTb4b4b4) Tff7b72-Tff7b72> Tffa657strTb4b4b4:
T8b949e"""Return an rns:// URL for an alias name or raw identity/group/repo."""
Te6edf3table Tff7b72= Te6edf3aliases Tff7b72if Te6edf3aliases Tff7b72is Tff7b72not Tff7b72None Tff7b72else Te6edf3parse_aliasesTb4b4b4(Tb4b4b4)
Te6edf3raw Tff7b72= Te6edf3tableTff7b72.Td2a8ffgetTb4b4b4(Te6edf3alias_or_pathTb4b4b4, Te6edf3alias_or_pathTb4b4b4)Tff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3rawTff7b72.Td2a8fflowerTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstartswithTb4b4b4(Ta5d6ff"Ta5d6ffrns://Ta5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3raw
Tff7b72return Ta5d6fffTa5d6ff"Ta5d6ffrns://Tffd700{Te6edf3rawTff7b72.Td2a8fflstripTb4b4b4(Ta5d6ff'Ta5d6ff/Ta5d6ff'Tb4b4b4)Tffd700}Ta5d6ff"


Tff7b72def Td2a8ffwebsite_docs_sourceTb4b4b4(Te6edf3aliasesTb4b4b4: Tffa657dictTb4b4b4[Tffa657strTb4b4b4, Tffa657strTb4b4b4] Tff7b72| Tff7b72None Tff7b72= Tff7b72NoneTb4b4b4) Tff7b72-Tff7b72> Tffa657strTb4b4b4:
T8b949e"""Preferred rns:// source for the Reticulum website/manual repo."""
Te6edf3table Tff7b72= Te6edf3aliases Tff7b72if Te6edf3aliases Tff7b72is Tff7b72not Tff7b72None Tff7b72else Te6edf3parse_aliasesTb4b4b4(Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffwebsiteTa5d6ff" Tff7b72in Te6edf3tableTb4b4b4:
Tff7b72return Te6edf3remote_urlTb4b4b4(Ta5d6ff"Ta5d6ffwebsiteTa5d6ff"Tb4b4b4, Te6edf3tableTb4b4b4)
Tff7b72return Te6edf3DEFAULT_WEBSITE_REMOTE


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────